######################    变量与动态数据类型        ###################

#变量与对象
# python是动态类型语言，变量值与真正的函数对象仅仅是引用关系

#对象的垃圾回收
# python采用引用计数器方法来判断是否被引用，存在循环引用无法释放的问题

#变量命名规则
# 字母、下划线开头，后面跟下划线、字母、数字。python3可以将中文等各种非英文字符作为变量名
# 区分大小写
# 注意python保留字
# 惯例：前后都有下划线是系统变量
# 惯例：一个下划线开头是不能被from...import * 语句从模块导入
# 惯例：两个下划线开头，末尾无下划线是类的本地变量

#赋值语句
x=100
x,y=1,2
x,y
(x,y)=(1,2)
x,y
[x,y]=['ab',1]
x,y
(x,y,z)='abc'
x,y,x       #('a', 'b', 'a')
((x,y),z)='ab','cd'
x,y,z       #('a', 'b', 'cd')

x,*y='abcd'
x,y         #('a', ['b', 'c', 'd'])
*x,y='abcd'
x,y         #(['a', 'b', 'c'], 'd')
x,*y,z='abcde'
x,y,z       #('a', ['b', 'c', 'd'], 'e')

a=b=c=10
a,b,c       #(10, 10, 10)

a=5
a+=10
a           #15

#is判断是否引用同一变量
x=[1,2,3]
y=[1,2,3]
x is y      #False
x=5
y=5
x is y      #True


